package com.krisyu.visitorPattern.vpExpand1_MultiVisitor;

/**
 * @Author: Kris
 * @Date: 2022/1/9 - 01 - 09 - 21:07
 * @Description: 具体访问者角色。 在这里就可以获取到具体元素，并对数据进行自定义报表。
 * @version: 1.0
 */
public class ShowNameVisitor implements IShowNameVisitor{
    @Override
    public void visit(ConcreteElement1 element1) {
        System.out.println("\n------------------开始访问具体元素1咯-----------");
        this.showName();
        element1.doSomething();
        System.out.println("------------------访问具体元素1结束咯-----------");
    }

    @Override
    public void visit(ConcreteElement2 element2) {
        System.out.println("\n------------------开始访问具体元素2咯-----------");
        this.showName();
        element2.doSomething();
        System.out.println("------------------访问具体元素2结束咯-----------");
    }

    @Override
    public void showName() {
        System.out.println("------------------I'm KrisYu-------------------");
    }
}
